The present invention relates generally to cloud computing, and more particularly to a system and method for creating and managing virtual data centers using online cloud computer services from multiple vendors.
A data center is a facility used to house computer systems and associated components, such as telecommunications and storage systems. It generally includes redundant or backup power supplies, redundant data communications connections, environmental controls (e.g., air conditioning, fire suppression), and special security devices. Developing and maintaining these large data centers require both an initial capital expenditure and a regular operating budget. The cost of creating a data center is one of the major expenses involved in starting a new business—especially on online or Internet business.
Many firms have created data centers coupled to the Internet. Depending on the nature of the industry, these firms may also have surplus capacity. Firms have developed ways to sell this surplus capacity so that other enterprises can access this computing power. This Large-scale computing operation is often referred to as cloud computing. Cloud computing generally means Internet based development and use of computer technology. It is a style of computing where information technology (IT) related capabilities are provided as a service allowing users to access technology-enabled services over the Internet without knowledge of, expertise with, or control over the technology infrastructure that supports them.
Conventionally, cloud computing is a general concept that incorporates software as a service where the common theme is reliance on the Internet for satisfying the computing needs of the users. For example, suppliers of cloud computing services provide common business applications online that are accessed from a web browser, while the software and data is stored on the servers. The cloud computing infrastructure generally consists of services delivered through next-generation data centers that are built on computers and storage virtualization technologies. The services are accessible anywhere in the world, using the network as a single point of access for all the computing needs of clients.
Since clients do not own the infrastructure and are merely accessing or renting, they can avoid the initial capital expenditure and instead consume computing resources as a service. This allows them to only pay for the computing time and resources they actually use. Many cloud computing offerings have adopted the utility computing model which is analogous to how traditional utilities (like electricity) are consumed. By sharing computing power between multiple tenants, utilization rates can be improved because computers are not left idle. In turn, costs can be significantly reduced while increasing the speed of application development. An additional benefit of this approach is that computer capacity rises dramatically as customers do not have to engineer for peak loads.
The drawback to cloud computing is the absence of a uniform protocol for structuring operations. Also different vendors provide different means to access their services. Thus users lack portability when designing for cloud computing.